package primaryAlgorithm.myatoi;
/**
 * @Date 2020/03/18
 * @author 王光浩 
 * @Thinking 使用暴力法
 * @Analysis 时间复杂度O（n），空间复杂度O（1）
 */
public class MyMethodOn {
    public int myAtoi(String str) {
    	int ret=0;
    	int index=0;
    	//除去空格
    	while(index<str.length())
    		if(str.charAt(index)!=' ')break;
    		else index++;
    	//判断正负
    	int flag=1;
    	if(index<str.length() && (str.charAt(index)=='-' || str.charAt(index)=='+' )){
    		if(str.charAt(index)=='-')
    			flag=-1;
    		index++;
    	}
    	//求值
    	while(index<str.length()) {
    		if(str.charAt(index)>57 || str.charAt(index)<48)break;
    		int next=ret*10+flag*(str.charAt(index)-48);
    		if(next/10!=ret)return flag==-1?Integer.MIN_VALUE:Integer.MAX_VALUE; //发生overflow
    		ret=next;
    		index++;
    	}
    	return ret;
    }
}
